#ifndef PROTOCOL_H
#define PROTOCOL_H

#include <stdlib.h>
#include <string.h>
#include <unistd.h>

typedef unsigned int uint;
#define REGIST_OK "regisg ok"
#define REGIST_FAILED "regist failed: name exist"
#define LOGIN_OK "login ok"
#define LOGIN_FAILED "login failed：have landed"

enum ENUM_MSG_TYPE
{
    ENUM_MSG_TYPE_MIN = 0,
    ENUM_MSG_TYPE_REGIST_REQUEST,       //注册请求
    ENUM_MSG_TYPE_REGIST_RESPOND,       //注册回复
    ENUM_MSG_TYPE_LOGIN_REQUEST,        //登录请求
    ENUM_MSG_TYPE_LOGIN_RESPOND,        //登录回复
    // ENUM_MSG_TYPE_REQUEST,
    // ENUM_MSG_TYPE_RESPOND,
    ENUM_MSG_TYPE_MAX = 0x00ffffff
};

typedef struct PDU
{
    uint uiPDULen;      //总的协议数据大小
    uint uiMsgType;     //消息类型
    char caData[64];    //消息状态信息
    uint uiMsgLen;      //实际消息大小
    uint caMsg[];       //实际消息内容

}PDU;

PDU* mkPDU(uint uiMsgLen);

#endif // PROTOCOL_H
